Scalable multiviewer system and method for distributing data

ABSTRACT

A scalable multiviewer system including at least one communication circuit is described. The at least one communication circuit includes at least one input being associated with at least one data source. The at least one communication circuit further includes at least one output being associated with at least one data sink. The at least one communication circuit further includes at least one channel interface for an inter-circuit communication channel being configured to transfer data between the at least one communication circuit and at least one further communication circuit. The at least one communication circuit further includes a processing circuit being configured to receive an input signal from the at least one input. The processing circuit further is configured to selectively transmit the input signal to the at least one output or to the at least one channel interface based on at least one preset communication parameter. The at least one preset communication parameter is programmable via a communication bus of the multiviewer system. Further, a method for distributing data from at least one data source to several data sinks via a scalable multiviewer system is described.

FIELD OF THE DISCLOSURE

Embodiments of the present disclosure generally relate to a scalable multiviewer system. Embodiments of the present disclosure further relate to a method for distributing data from at least one data source to several data sinks via a scalable multiviewer system.

BACKGROUND

Multiviewer systems allow a user to observe several different audio and/or video signals simultaneously. Traditional multiviewer systems comprise several individual monitors, which each display a single video signal coming from a video source to which the monitor is physically coupled.

These traditional multiviewer systems are increasingly replaced by modern multiviewer systems, wherein a single monitor may receive video signals from several video sources, such that all video signals can be viewed on the same monitor simultaneously or upon demand Thus, with these modern multiviewer systems, the signals from the several video sources can be displayed on a single large monitor.

Moreover, the signals from these several video sources may be distributed to and viewed at several different locations. However, this may require a multiple replication of the original video signal, such that all video signals are transmitted to all relevant viewing locations.

The disadvantage of this approach is that the bandwidth required for the transmission of the video signals is rather high due to the multiple replication of the video signals.

Accordingly, there is a need for a multiviewer system as well as a method that allow for a more efficient distribution of data.

SUMMARY

Embodiments of the present disclosure provide a scalable multiviewer system comprising at least one communication circuit or module. The at least one communication module comprises at least one input having a first network interface, wherein the at least one input is associated with at least one data source. The at least one communication module further comprises at least one output having a second network interface, wherein the at least one output is associated with at least one data sink. The at least one communication module further comprises at least one channel interface for an inter-module communication channel configured to transfer data between the at least one communication module and at least one further communication circuit or module. The at least one communication module further comprises a processing circuit or module, wherein the processing module is connected to the at least one input, the at least one output, and the at least one channel interface in a signal transmitting manner The processing module is configured to receive an input signal from the at least one input. The processing module further is configured to selectively transmit the input signal to the at least one output or to the at least one channel interface based on at least one preset communication parameter. The at least one preset communication parameter is programmable via a communication bus of the multiviewer system.

Therein and in the following, the term “data sink” is used to denote all kinds of devices on an output side of the at least one communication module that may receive the input signal transmitted by the at least one communication module. For example, the term “data sink” comprises a user device, such as a personal computer, a laptop, a smartphone, a tablet or a dedicated user-side multiviewer device. In other words, the term “data sink” is associated with a respective client-side device.

The term “communication module” is used to denote a functional unit comprising suitable hardware and software. Generally, the communication modules may be established as individual physical modules of a single server, and/or as individual physical modules of several interconnected servers forming a network. In some embodiments, the communication module includes circuitry configured to carry out the functionality described herein.

The at least one data source may be established as a video signal source and/or as an audio signal source. Accordingly, the input signal may be a video signal and/or an audio signal.

In some embodiments, the input signal is packetized. In other words, the input signal comprises several data packages, wherein the information to be transmitted is comprised in these data packages.

Alternatively or additionally, the processing module may be configured to packetize the input signal before transmitting the input signal to the output and/or to the channel interface for the inter-module communication channel

According to the present disclosure, the input signal is transmitted via the at least one communication module only to certain data sinks, namely only to such data sinks that are specified by the at least one communication parameter. In other words, the at least one communication parameter determines which data sink receives signals from which data sources. Accordingly, the network addresses of the data sinks that need to receive a specific input signal may be specified by the at least one preset communication parameter.

Thus, the overall network traffic is reduced, as the input signal is transmitted only to those data sinks that really need it or that have requested to receive the corresponding input signal. Moreover, no central controller is required in order to distribute different input signals to different data sinks, as the at least one communication module (or several communication modules) is already programmed to distribute the input signal in the intended way.

With the multiviewer system according to embodiments of the present disclosure, a user may simply select the data sources from which the data shall be transferred to the data sink associated with the user. The at least one communication parameter is then re-programmed via the communication bus such that the inputs signals from the different data sources are distributed correctly.

Again, no central controller for the communication modules is required. Instead, the communication parameters of the communication modules are adapted via the communication bus and stored on the respective communication modules, such that the input signals from different data sources are distributed correctly.

Briefly, the processing module may comprise circuitry, such as one or several processing circuits or units. For example, the processing module may comprise one or several CPUs, GPUs, FPGAs, etc.

In some embodiments, the processing module comprises a processing unit that is connected to each of the input, the output, and the channel interface for the inter-module communication channel.

Alternatively, the processing module may comprise several interconnected processing units, wherein at least one of the several interconnected processing units is connected to only one of the input, the output, and the channel interface for the inter-module communication channel.

In some embodiments, the processing module comprises three interconnected processing units, wherein each of the interconnected processing unit is connected to only one of the input, the output, and the channel interface for the inter-module communication channel.

According to an aspect of the present disclosure, the at least one communication module comprises at least one network interface card, wherein the at least one network interface card comprises the first network interface, the second network interface and/or the channel interface for the inter-module communication channel. Accordingly, all or at least more than one of the interfaces may be integrated onto a single network interface card. Thus, less hardware is needed and the costs of the communication module are reduced.

Alternatively, the communication module may comprise several interconnected network interface cards that are each associated with at least one of the input, the output, and the channel interface for the inter-module communication channel This way, a higher bandwidth may be achieved.

According to another aspect of the present disclosure, the communication bus is configured to distribute a list of available data sources to the at least one data sink. Thus, instead of distributing, for instance multicasting or broadcasting, all input signals to all data sinks, only the list of available data sources is distributed to the data sinks. As already explained above, the user may choose which signals from which data source shall be transmitted to the respective data sink. As the list of available data sources has a considerably lower data volume than the input signals, the overall needed network bandwidth is reduced.

In some embodiments, the communication bus is configured to distribute a list of available data sources to all data sinks. In other words, the communication bus may be configured to broadcast the list of available data sources to the data sinks.

In a further embodiment of the present disclosure, the communication bus is configured to distribute a parameter adaptation request from the at least one data sink to the at least one communication module. Generally, the parameter adaptation request corresponds to a request of the user to receive the signals from certain ones of the data sources. In other words, the user may choose the data sources from which the signals are to be received via the parameter adaptation request.

In some embodiments, the communication bus is configured to distribute the parameter adaptation request to all communication modules. In other words, the communication bus may be configured to broadcast the parameter adaption request to the communication modules.

For instance, the communication bus is configured to multicast the parameter adaption request when distributing the parameter adaption request.

The communication parameters of each of the communication modules may be adapted based on the parameter adaptation request. In other words, the complete network may be reconfigured based on the parameter adaptation request such that the input signals from the data sources are distributed to the data sinks correctly.

In some embodiments, the communication bus is based on a Message Queuing Telemetry Transport (MQTT) protocol or another messaging protocol. This protocol requires a particularly low bandwidth, such that the network traffic is further reduced.

Alternatively, the communication bus may be based on an Advanced Message Queuing Protocol (AMQP), a Constrained Application Protocol (CoAP), an Extensible Messaging Presence Protocol (XMPP) or any other suitable protocol.

In a further embodiment of the present disclosure, the at least one data source is immediately connected to at most one communication module. Thus, input signals generated by each of the data sources are each only received by exactly one communication module (and not multiple times). Accordingly, the network traffic is further reduced.

It is noted that several data sources may be connected to the same communication module, but not the other way around. Accordingly, each communication module may receive input signals from several data sources. However, each data source transmits a respectively generated input signal to only one communication module.

According to an aspect of the present disclosure, the at least one preset communication parameter comprises at least one of the following parameters: a communication protocol, a data rate, a sample rate, a resolution, and/or a data compression. In other words, the user may not only choose from which data sources input signals are to be received, but may also choose a suitable communication protocol by means of which the respective input signal is transmitted to the data sink. Alternatively or additionally, the user may choose the quality (and thus the data volume needed) of the transmitted input signal by adapting the data rate, the sample rate, the resolution and/or the data compression.

According to another aspect of the present disclosure, the multiviewer system comprises at least two communication modules, wherein the at least two communication modules are interconnected via their channel interfaces for the inter-module communication channel. As each of the communication modules comprises a processing module, the overall available computational power of the multiviewer system is enhanced. For example, the individual communication modules may correspond to individual modules of a single server or to individual modules of different interconnected servers forming a network.

According to a further embodiment of the present disclosure, a first one of the at least two communication modules is connected to at least a first data sink via the output of the first communication module, and a second one of the at least two communication modules is connected to at least a second data sink via the output of the second communication module, wherein the first data sink and the second data sink are different from each other. In some embodiments, each communication module may be connected to a set of data sinks, wherein the sets of data sinks are pairwise disjoint.

In other words, each client-side device is connected to a single server, and the requested input signal is transmitted to the client-side device only via that particular server. This way, the network traffic is further reduced.

In some embodiments, the processing modules of the respective communication modules are configured to communicate with each other. The processing modules may use the communication protocol of the communication bus, for example the Message Queuing Telemetry Transport protocol. Alternatively or additionally, the processing modules may use a separate communication protocol for communicating with each other.

According to another aspect of the present disclosure, no central control module is provided in order to control the communication modules. As already mentioned above, no central controller is required in order to distribute different input signals to different data sinks, as the at least one communication module (or several communication modules) is already programmed to distribute the input signal in the intended way. Instead, if changes are requested, the communication parameters of the communication modules are adapted via the communication bus and stored on the respective communication modules, such that the input signals from different data sources are distributed correctly according to the requested changes.

In a further embodiment of the present disclosure, the multiviewer system is configured such that the at least one preset communication parameter is programmable via the output by the communication bus of the multiviewer system. Thus, the individual communication modules may receive the parameter adaptation request described above via the respective output of the respective communication module. Additionally or alternatively, the communication modules may receive the parameter adaptation request via the respective channel interface for the inter-module communication channel, i.e., from another communication module.

In some embodiments, the multiviewer system comprises a client-side device connected with the output, wherein the client-side device comprises a user interface via which the at least one preset communication parameter is set to direct the input signal in a defined manner For example, the list of available data sources may be displayed to the user via the user interface. Thus, the user may simply select the data sources from which signals are to be received via the user interface. The client-side device may then automatically generate a corresponding parameter adaptation request that is then transmitted to the communication modules by means of the communication bus.

Embodiments of the present disclosure further provide a method for distributing data from at least one data source to several data sinks via a scalable multiviewer system, for example via the multiviewer system described above. In an embodiment, the method comprises the following steps:

receiving an input signal from the at least one data source via a first communication circuit or module; and

selectively transmitting the input signal directly to at least one of the data sinks or to at least a second communication module based on at least one preset communication parameter,

wherein the at least one preset communication parameter is programmable via a communication bus of the multiviewer system.

Regarding the advantages and further properties of the method, reference is made to the explanations given above with respect to the multiviewer system, which also hold for the method and vice versa.

According to an aspect of the present disclosure, a list of available data sources is distributed to at least one of the data sinks via the communication bus. Thus, instead of distributing all input signal to all data sinks, only the list of available data sources is distributed to the data sinks. As already explained above, the user may choose which signals from which data source shall be transmitted to the respective data sink. As the list of available data sources has a considerably lower data volume than the input signals, the overall needed network bandwidth is reduced.

In some embodiments, the list of available data sources is distributed to all data sinks via the communication bus. In other words, the communication bus may be configured to broadcast the list of available data sources to the data sinks.

According to another aspect of the present disclosure, a parameter adaptation request is distributed from at least one of the data sinks to the first communication module and/or to the second communication module via the communication bus, for example to all communication modules. Generally, the parameter adaptation request corresponds to a request of the user to receive the input signals from certain ones of the data sources. In other words, the user may choose the data sources from which the signals are to be received via the parameter adaptation request.

In some embodiments, the communication bus is based on a Message Queuing Telemetry Transport protocol. This protocol requires a particularly low bandwidth, such that the network traffic is further reduced.

In a further embodiment of the present disclosure, the at least one preset communication parameter comprises at least one of the following parameters: a communication protocol, a data rate, a sample rate, a resolution, and/or a data compression. In other words, the user may not only choose from which data sources input signals are to be received, but may also choose a suitable communication protocol by means of which the respective input signal is transmitted to the data sink. Alternatively or additionally, the user may choose the quality (and thus the data volume needed) of the transmitted input signal by adapting the data rate, the sample rate, the resolution and/or the data compression.

DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of the claimed subject matter will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 schematically shows a block diagram of a scalable multiviewer system according to an embodiment of the present disclosure; and

FIG. 2 shows a flow chart of a method according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

The detailed description set forth below in connection with the appended drawings, where like numerals reference like elements, is intended as a description of various embodiments of the disclosed subject matter and is not intended to represent the only embodiments. Each embodiment described in this disclosure is provided merely as an example or illustration and should not be construed as preferred or advantageous over other embodiments. The illustrative examples provided herein are not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed. Similarly, any steps described herein may be interchangeable with other steps, or combinations of steps, in order to achieve the same or substantially similar result. Moreover, some of the method steps can be carried serially or in parallel, or in any order unless specifically expressed or understood in the context of other method steps.

In the foregoing description, specific details are set forth to provide a thorough understanding of exemplary embodiments of the present disclosure. It will be apparent to one skilled in the art, however, that the embodiments disclosed herein may be practiced without embodying all of the specific details. In some instances, well-known process steps have not been described in detail in order not to unnecessarily obscure various aspects of the present disclosure. Further, it will be appreciated that embodiments of the present disclosure may employ any combination of features described herein.

FIG. 1 schematically shows a block diagram of an embodiment of a scalable multiviewer system 10. In the embodiment shown, the multiviewer system 10 comprises a first communication circuit or module 12, a second communication circuit or module 14, several data sources 16, and several data sinks 18.

Therein and in the following, the term “data sink” is used to denote all kinds of devices on a receiving side of the multiviewer system 10. For example, the term “data sink” comprises a user device, such as a personal computer, a laptop, a smartphone, a tablet or a dedicated user-side multiviewer device. In other words, the term “data sink” is associated with a respective client-side device.

In some embodiments, the term “module,” “unit,” etc., refers to or includes, inter alia, a combination of hardware (e.g. a processor such as an integrated circuit or other circuitry) and software (e.g. machine- or processor-executable instructions, commands, or code such as firmware, programming, or object code). Furthermore, a combination of hardware and software may include hardware only (i.e. a hardware element with no software elements), software hosted at hardware (e.g. software that is stored at a memory and executed or interpreted at a processor), or hardware with the software hosted thereon. In some embodiments, the hardware may, inter alia, comprise a CPU, a GPU, an FPGA, an ASIC, or other types of electronic circuitry

For example, the communication module can be functional unit comprising in some embodiments suitable circuitry, including hardware and/or software. Generally, the communication modules may be established as individual physical modules of a single server, and/or as individual physical modules of several interconnected servers forming a network.

In the example shown in FIG. 1, the several data sources 16 comprise a first video and/or audio source 20 (“VA source” in the following), a second VA source 22, and a third VA source 24. It is noted that the number of three VA sources 20, 22, 24 is chosen only for illustration purposes. Of course, the multiviewer system 10 may comprise any other number of VA sources.

Each of the data sources 16 is immediately connected to exactly one of the communication modules 12, 14. Thus, input signals generated by the data sources 16 are only transmitted to one of the communication module 12, 14, respectively.

The several data sinks 18 correspond to a first client-side device 26 and a second client-side device 28. The client-side devices 26, 28 may be located at different geographic locations.

Each of the client-side devices 26, 28 comprises several display areas 30. The display areas 30 may be sub-areas of a larger display. Alternatively, the display areas 30 may be established as separate display devices, e.g. monitors.

It is noted that the number of two client-side devices 26, 28 is chosen only for illustration purposes. Of course, the multiviewer system 10 may comprise any other number of signal sinks, for example client-side devices.

In the exemplary embodiment shown in FIG. 1, the first communication module 12 is connected to the first client-side device 26, and the second communication module 14 is connected to second client-side device 28. In general, each communication module 12, 14 may be connected to a set of data sinks 18, wherein the sets of data sinks 18 are pairwise disjoint. In other words, each client-side device 26, 28 is connected to a single server, and the requested input signal is transmitted to the client-side device 26, 28 only via that particular server.

Generally speaking, the multiviewer system 10 is configured to distribute input signals generated by the data sources 16 to the data sinks 18 in a particular manner, which will be explained in more detail below. Therein, the input signals respectively may be established as a video signal and/or as an audio signal (“VA signal” in the following).

Without restriction of generality, the case of the input signals being pure video signals will be discussed in the following. Accordingly, in the following the input signals generated by the VA sources 20, 22, 24 are denoted by v₂₀, v₂₂, and v₂₄, respectively.

The users of the client-side devices 26, 28 may choose which of the input signals are to be displayed on the individual display areas 30. In the example shown in FIG. 1, all three input signals v₂₀, v₂₂, v₂₄ are to be displayed on the display areas 30 of the first client-side device 26, while only the two input signals v₂₀ and v₂₄ are to be displayed on the display areas 30 of the second client-side device 28.

The first communication module 12 and the second communication module 14 each comprise an input 32 with a first network interface 34 and an output 36 with a second network interface 38. An inter-module communication channel 40 is provided between the communication modules 12, 14 wherein each communication module 12, 14 has a dedicated channel interface 42 associated with the inter-module communication channel 40.

The communication modules 12, 14 may comprise at least one network interface card 43 (e.g., hardware circuitry), wherein the at least one network interface card 43 comprises the first network interface 34, the second network interface 38 and/or the channel interface 42. Alternatively, the communication modules 12, 14 may comprise several interconnected network interface cards 43 that are each associated with at least one of the input 32, the output 36, and the channel interface 42 for the inter-module communication channel 40.

The communication modules 12, 14 further each comprise a processing module 44, comprising one or more processors, processing circuits, etc. In the embodiment shown in FIG. 1, the processing module 44 comprises three processing units 46. For example, the processing units 46 may each be established as circuitry, such as a microprocessor, as a CPU, as a GPU, as a FPGAs, or as another type of suitable electronic circuitry.

Each of the input 32, the output 36 and the channel interface 42 for the inter-module communication channel 40 is immediately connected to only one of the processing units 46, respectively. Moreover, the processing units 46 are interconnected with each other.

It is noted that the number of three processing units 46 is chosen only for illustration purposes. The processing module 44 may also comprise any other number of processing unit 46, for example one or two processing units 46 or even more than three processing units 46.

In some embodiments, the processing module 44 may comprise a single processing unit 46 that is immediately connected to each of the input 32, the output 36, and the channel interface 42 for the inter-module communication channel 40. Alternatively, the processing module 44 may comprise two processing units 46. For example, one of the two processing units 46 may be immediately connected to the input 32 and the channel interface 42 for the inter-module communication channel 40, and the other one of the two processing units 46 may be immediately connected to the output 36.

The multiviewer system 10 is configured to perform a method for distributing data from the data sources 16 to the data sinks 18, an example of which is described in the following with reference to FIG. 2.

The input signals v₂₀, v₂₂, and v₂₄ are received by the communication modules 12, 14 via the respective input 32 and forwarded to the processing module 44, for example the respective processing unit 46 connected to the input 32 (step S1).

The respective processing unit 46 processes and analyzes the received input signal or the received input signals, thereby determining at least one quality parameter associated with the input signal (step S2).

Generally speaking, the at least one quality parameter is indicative of the quality of the video stream associated with the respective input signal. More precisely, the at least one quality parameter may indicate a resolution of the video stream, a data rate of the video stream, a sample rate of the video stream and/or a data compression of the video stream.

A list of all available data sources 16 is broadcasted to all data sinks 18 via a communication bus of the multiviewer system 10 (step S3).

Therein, the communication bus may be based on a Message Queuing Telemetry Transport (MQTT) protocol. However, any other suitable type of network protocol or messaging protocol may be used for the communication bus, for instance Advanced Message Queuing Protocol (AMQP), Constrained Application Protocol (CoAP) or Extensible Messaging Presence Protocol (XMPP).

Thus, instead of broadcasting all input signals v₂₀, v₂₂, v₂₄ to all data sinks 18, only the list of available data sources 16 is distributed to the data sinks 18.

The list of available data sources 16 may also comprise the quality parameters associated with the input signals v₂₀, v₂₂, v₂₄. Thus, the users of the first clients-side device 26 and of the second client-side device 28 are provided with an overview of all available input signals v₂₀, v₂₂, v₂₄ and of the respective quality of the input signals v₂₀, v₂₂, v₂₄.

The users may then choose which of the input signals v₂₀, v₂₂, v₂₄ are to be received, and in which quality the input signals v₂₀, v₂₂, v₂₄ are to be received. Moreover, the users may choose via which communication protocol the input signals v₂₀, v₂₂, v₂₄ are to be transmitted to the data sinks 18.

In some embodiments, the users may perform these settings via a user interface of the respective client-side device 26, 28.

A parameter adaptation request corresponding to the settings performed by the user is generated by each of the client-side devices 26, 28, respectively.

The parameter adaptation requests are each broadcasted to the communication modules 12, 14 via the communication bus of the multiviewer system 10 (step S4).

In general, the parameter adaptation request comprises a request for adapting at least one of the following parameters: a communication protocol via which the input signals v₂₀, v₂₂, v₂₄ are to be received by the respective client-side device 26, 28, a desired data rate with which the input signals v₂₀, v₂₂, v₂₄ are to be received by the respective client-side device 26, 28, a desired sample rate with which the input signals v₂₀, v₂₂, v₂₄ are to be received by the respective client-side device 26, 28, a desired resolution of the input signals v₂₀, v₂₂, v₂₄, and a data compression of the input signals v₂₀, v₂₂, v₂₄.

Based on the parameter adaptation requests, at least one communication parameter of the processing modules 44 is adapted, if necessary (step S5).

The at least one preset communication parameter comprises at least one of the following parameters: a communication protocol, a data rate, a sample rate, a resolution, and/or a data compression.

Moreover, the at least one communication parameter determines which data sink 18 receives signals from which data source 16.

If the preset communication parameters are already the same as requested, then the communication parameters are, of course, not adapted. The processing modules 44 then process the input signals v₂₀, v₂₂, v₂₄ based on the adapted preset communication parameters and selectively forward the input signals v₂₀, v₂₂, v₂₄ to the respective output 36 and/or to the respective channel interface 42 for the inter-module communication channel 40 based on the adapted preset communication parameters (step S6).

Generally speaking, the processing modules 44 process and selectively forward the input signals v₂₀, v₂₂, v₂₄ in such a way that every one of the client-side devices 26, 28 receives the requested ones of the input signals v₂₀, v₂₂, v₂₄, namely in the requested quality and via the requested communication protocol.

Accordingly, if the quality of one of the input signals v₂₀, v₂₂, v₂₄ is higher than requested by one of the client-side devices 26, 28, the respective processing module 44 may downscale the corresponding input, thereby generating a downscaled input signal.

In other words, the processing module 44 may reduce the data size of the corresponding input signal v₂₀, v₂₂, v₂₄, for example by reducing the data rate and/or the sample rate of the corresponding input signal, or by compressing the corresponding input signal v₂₀, v₂₂, v₂₄.

In this case, the downscaled input signal is selectively forwarded to the respective output 36 and/or to the respective channel interface 42 associated with the inter-module communication channel 40 based on the adapted preset communication parameters.

Step S6 will be illustrated for an hypothetical example by the input signal v₂₀ generated by the first VA source 20. For example, the input signal v₂₀ is a High Definition (“HD”) video stream. The first client-side device 26 has requested to receive the input signal v₂₀ in HD, while the second client-side device 28 has requested to receive the input signal v₂₀ in Standard Definition (“SD”).

Accordingly, the processing module 44 of the first communication module 12 transmits the input signal v₂₀ to the first client-side device 26 via the output 36 of the first communication module 12 without downscaling.

However, as the second client-side device 28 requested the input signal v₂₀ in SD, the processing module 44 of the first communication module 12 downscales the input signal v₂₀ from HD to SD, thereby generating the downscaled input signal.

The downscaled input signal is then transmitted to the second communication module 14 via the inter-module communication channel 40 associated with the first communication module 12 and the second communication module 14. The downscaled input signal is then transmitted to the second client-side device 28 via the output 36 of the second communication module 14 by the processing module 44 of the second communication module 14.

Summarizing, the input signals are transmitted only to certain data sinks 18, namely only to such data sinks 18 that have requested to receive the respective input signal. Thus, a user may simply select the data sources 16 from which the data shall be transferred to the data sink 18 associated with the user. The preset communication parameters of the processing modules 44 of the communication modules 12, 14 are then re-programmed via the communication bus such that the input signals from the different data sources 16 are distributed correctly to the data sinks 18.

Thus, no central controller for the communication modules 12, 14 is required. Instead, the communication parameters of the communication modules 12, 14 are adapted via the communication bus and stored on the respective communication modules 12, 14, such that the input signals from different data sources 16 are distributed correctly.

Certain embodiments disclosed herein, for example the respective module(s) and/or unit(s), utilize circuitry (e.g., one or more circuits) in order to implement standards, protocols, methodologies or technologies disclosed herein, operably couple two or more components, generate information, process information, analyze information, generate signals, encode/decode signals, convert signals, transmit and/or receive signals, control other devices, etc. Circuitry of any type can be used. It will be appreciated that the term “information” can be use synonymously with the term “signals” in this paragraph. It will be further appreciated that the terms “circuitry,” “circuit,” “one or more circuits,” etc., can be used synonymously herein.

In an embodiment, circuitry includes, among other things, one or more computing devices such as a processor (e.g., a microprocessor), a central processing unit (CPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a system on a chip (SoC), or the like, or any combinations thereof, and can include discrete digital or analog circuit elements or electronics, or combinations thereof. In an embodiment, circuitry includes hardware circuit implementations (e.g., implementations in analog circuitry, implementations in digital circuitry, and the like, and combinations thereof).

In an embodiment, circuitry includes combinations of circuits and computer program products having software or firmware instructions stored on one or more computer readable memories that work together to cause a device to perform one or more protocols, methodologies or technologies described herein. In an embodiment, circuitry includes circuits, such as, for example, microprocessors or portions of microprocessor, that require software, firmware, and the like for operation. In an embodiment, circuitry includes one or more processors or portions thereof and accompanying software, firmware, hardware, and the like.

The present application may reference quantities and numbers. Unless specifically stated, such quantities and numbers are not to be considered restrictive, but exemplary of the possible quantities or numbers associated with the present application. Also in this regard, the present application may use the term “plurality” to reference a quantity or number. In this regard, the term “plurality” is meant to be any number that is more than one, for example, two, three, four, five, etc. The terms “about,” “approximately,” “near,” etc., mean plus or minus 5% of the stated value. For the purposes of the present disclosure, the phrase “at least one of A and B” is equivalent to “A and/or B” or vice versa, namely “A” alone, “B” alone or “A and B.”. Similarly, the phrase “at least one of A, B, and C,” for example, means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C), including all further possible permutations when greater than three elements are listed.

The principles, representative embodiments, and modes of operation of the present disclosure have been described in the foregoing description. However, aspects of the present disclosure which are intended to be protected are not to be construed as limited to the particular embodiments disclosed. Further, the embodiments described herein are to be regarded as illustrative rather than restrictive. It will be appreciated that variations and changes may be made by others, and equivalents employed, without departing from the spirit of the present disclosure. Accordingly, it is expressly intended that all such variations, changes, and equivalents fall within the spirit and scope of the present disclosure, as claimed. 

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
 1. A scalable multiviewer system comprising: at least one communication circuit comprising at least one input having a first network interface, wherein the at least one input is associated with at least one data source; at least one output having a second network interface, wherein the at least one output is associated with at least one data sink; at least one channel interface for an inter-circuit communication channel configured to transfer data between the at least one communication circuit and at least one second communication circuit; and a processing circuit connected to the at least one input, the at least one output, and the at least one channel interface in a signal transmitting manner, wherein the processing circuit is configured to: receive an input signal from the at least one input; and selectively transmit the input signal to the at least one output or to the at least one channel interface based on at least one preset communication parameter, wherein the at least one preset communication parameter is programmable via a communication bus of the multiviewer system.
 2. The multiviewer system of claim 1, wherein the at least one communication circuit comprises at least one network interface card, wherein the at least one network interface card comprises the first network interface, the second network interface and/or the channel interface for the inter-circuit communication channel
 3. The multiviewer system according to claim 1, wherein the communication bus is configured to distribute a list of available data sources to the at least one data sink.
 4. The multiviewer system according to claim 1, wherein the communication bus is configured to distribute a list of available data sources to all data sinks.
 5. The multiviewer system according to claim 1, wherein the communication bus is configured to distribute a parameter adaptation request from the at least one data sink to the at least one communication circuit.
 6. The multiviewer system according to claim 1, wherein the communication bus is configured to distribute a parameter adaptation request from the at least one data sink to all communication circuits.
 7. The multiviewer system according to claim 1, wherein the communication bus is based on a Message Queuing Telemetry Transport protocol or another messaging protocol.
 8. The multiviewer system according to claim 1, wherein the at least one data source is immediately connected to at most one communication circuit.
 9. The multiviewer system according to claim 1, wherein the at least one preset communication parameter comprises at least one of the following parameters: a communication protocol, a data rate, a sample rate, a resolution, and/or a data compression.
 10. The multiviewer system according to claim 1, further comprising at least two communication circuits, wherein the at least two communication circuits are interconnected via their channel interfaces for the inter-circuit communication channel.
 11. The multiviewer system of claim 10, wherein a first communication circuit of the at least two communication circuits is connected to at least a first data sink via the output of the first communication circuit, and wherein a second communication circuit of the at least two communication circuits is connected to at least a second data sink via the output of the second communication circuit, wherein the first data sink and the second data sink are different from each other.
 12. The multiviewer system of claim 10, wherein the processing circuits of the respective communication circuits are configured to communicate with each other.
 13. The multiviewer system according to claim 1, wherein the multiviewer system controls the communication circuits without a central control circuit.
 14. The multiviewer system according to claim 1, wherein the multiviewer system is configured such that the at least one preset communication parameter is programmable via the output by the communication bus of the multiviewer system.
 15. The multiviewer system according to claim 1, wherein the multiviewer system comprises a client-side device connected with the output, wherein the client-side device comprises a user interface via which the at least one preset communication parameter is set to direct the input signal in a defined manner
 16. A method for distributing data from at least one data source to several data sinks via a scalable multiviewer system, wherein the method comprises: receiving an input signal from the at least one data source via a first communication circuit; and selectively transmitting said input signal directly to at least one of the data sinks or to at least a second communication circuit based on at least one preset communication parameter, wherein the at least one preset communication parameter is programmable via a communication bus of the multiviewer system.
 17. The method of claim 16, wherein a list of available data sources is distributed to at least one of the data sinks via the communication bus.
 18. The method of claim 17, wherein the list of available data sources is distributed to all data sinks via the communication bus.
 19. The method of claim 16, wherein a parameter adaptation request is distributed from at least one of the data sinks to the first communication circuit and/or to the second communication circuit via the communication bus.
 20. The method of claim 19, wherein the parameter adaptation request is distributed to all communication circuits via the communication bus. 